/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.pa165.languageschoolservice.service;


import com.pa165.languageschoolpersistence.Exceptions.IllegalArgumentPersistenceException;
import com.pa165.languageschoolpersistence.Exceptions.ServiceFailureException;
import com.pa165.languageschoolpersistence.entities.LanguageSpoken;
import com.pa165.languageschoolservice.DTO.CourseDTO;
import java.util.List;

/**
 *
 * @author Aleksei Penzentcev
 */
public interface CourseService {
    
    public CourseDTO get(Long id) throws  IllegalArgumentPersistenceException;

    public CourseDTO add(CourseDTO course) throws ServiceFailureException;

    public void remove(CourseDTO course) throws  IllegalArgumentPersistenceException;

    public CourseDTO modify(CourseDTO course) throws ServiceFailureException;

    public List<CourseDTO> getAll();

    public List<CourseDTO> findByName(String name) throws  IllegalArgumentPersistenceException;

    public List<CourseDTO> findByLanguage(LanguageSpoken language) throws  IllegalArgumentPersistenceException;

}
